package Model.Dao;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import Model.Pojo.Aluno;
import java.io.IOException;
import java.util.List;

/**
 *
 * @author Amanda
 */
public class AlunoImpl implements AlunoDao {

    private ArrayList<Aluno> alunoList = new ArrayList<Aluno>();

    public AlunoImpl() {
    }

    /**
     *
     * @param aluno
     */
    
    @Override
    public void gravarobjeto(Aluno aluno) {

        this.alunoList.add(aluno);
    }

    public void escreverArqAluno() throws Exception {

        //      File arquivoAluno = new File("arquivoAluno.txt");
        //      FileWriter escritor = new FileWriter(arquivoAluno);
        PrintWriter escrever = new PrintWriter("arquivoAluno.txt");

        if (getAlunoList().size() >= 0) {
            for (Aluno aluno : alunoList) {

                escrever.write(aluno.getNome() + "\t");
                escrever.write(aluno.getCpf() + "\t");
                //    escrever.write(aluno.getSenha()+"\n");

            }

            escrever.close();
            //       escritor.close();

        }
    }

    public void lerArquivoAluno() throws Exception {
        String nome, cpf, senha;


        File arquivo = new File("arquivoAluno.txt");
        if (arquivo.exists()) {

            File arquivoAluno = new File("arquivoAluno.txt");
            FileReader filereader = new FileReader(arquivoAluno);
            BufferedReader leitorLinha = new BufferedReader(filereader);
            String linha = null;

            while ((linha = leitorLinha.readLine()) != null) {

                nome = (leitorLinha.readLine());
                cpf = (leitorLinha.readLine());
                //         senha = (leitorLinha.readLine());

                Aluno al = new Aluno(nome, cpf);
                //          al.setSenha(senha);
                getAlunoList().add(al);
            }
        }
    }

    
    
    public boolean verificaExisteAluno(String cpf) {
        boolean respostaFinal = false;
        for (int i = 0; i < this.getAlunoList().size(); i++) {

            if (this.getAlunoList().get(i).getCpf().contains(cpf)) {
                respostaFinal = true;
            }
        }
        return respostaFinal;
    }

    @Override
    public boolean buscarNome(String nome) {
        boolean respostaFinal = false;
        for (int i = 0; i < this.getAlunoList().size(); i++) {
            if (this.getAlunoList().get(i).getNome().contains(nome)) {
                respostaFinal = true;
            }
        }
        return respostaFinal;
    }

    /**
     * @return the alunoList
     */
    public ArrayList<Aluno> getAlunoList() {
        return alunoList;
    }
}
